In software projects, function definitions may change, but typically a user does not readily understand how the spatial locality of a function call may have changed with respect to any changes in a function definition, especially in response to reported errors or bugs. Accordingly, developers are typically not able to determine why some workflows using a given function may have changed while others did not.
Put another way, it is rarely the case that implementers of classes ask or require anyone to check for preliminary (or initial) conditions before an operation takes place, or for post-conditions after an operation takes place. Thus, with any changes in the spatial locality of a call, a software developer will not be able to get a good idea of what can be done to resolve any errors that may crop up.